using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Attributes;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Attributes.DomainAttributes;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Enums;
using System.Collections.Generic;
using System.ComponentModel;

namespace Baci.ArcGIS._DataManagementTools._Raster._RasterDataset
{
    /// <summary>
    /// <para>Workspace To Raster Dataset</para>
    /// <para>Merges all of the raster datasets in a folder into one raster dataset.</para>
    /// <para>将文件夹中的所有栅格数据集合并到一个栅格数据集中。</para>
    /// </summary>    
    [DisplayName("Workspace To Raster Dataset")]
    public class WorkspaceToRasterDataset : AbstractGPProcess
    {
        /// <summary>
        /// 无参构造
        /// </summary>
        public WorkspaceToRasterDataset()
        {

        }

        /// <summary>
        /// 有参构造
        /// </summary>
        /// <param name="_in_workspace">
        /// <para>Input Workspace</para>
        /// <para>The folder containing the raster datasets to merge.</para>
        /// <para>包含要合并的栅格数据集的文件夹。</para>
        /// </param>
        /// <param name="_in_raster_dataset">
        /// <para>Target Raster Dataset</para>
        /// <para>An existing raster dataset in which to merge all of the raster datasets from the input workspace.</para>
        /// <para>用于合并输入工作空间中所有栅格数据集的现有栅格数据集。</para>
        /// </param>
        public WorkspaceToRasterDataset(object _in_workspace, object _in_raster_dataset)
        {
            this._in_workspace = _in_workspace;
            this._in_raster_dataset = _in_raster_dataset;
        }
        public override string ToolboxName => "Data Management Tools";

        public override string ToolName => "Workspace To Raster Dataset";

        public override string CallName => "management.WorkspaceToRasterDataset";

        public override List<string> AcceptEnvironments => [];

        public override object[] ParameterInfo => [_in_workspace, _in_raster_dataset, _include_subdirectories.GetGPValue(), _mosaic_type.GetGPValue(), _colormap.GetGPValue(), _background_value, _nodata_value, _onebit_to_eightbit.GetGPValue(), _mosaicking_tolerance, _MatchingMethod.GetGPValue(), _colormap_to_RGB.GetGPValue(), _out_raster_dataset];

        /// <summary>
        /// <para>Input Workspace</para>
        /// <para>The folder containing the raster datasets to merge.</para>
        /// <para>包含要合并的栅格数据集的文件夹。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Input Workspace")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _in_workspace { get; set; }


        /// <summary>
        /// <para>Target Raster Dataset</para>
        /// <para>An existing raster dataset in which to merge all of the raster datasets from the input workspace.</para>
        /// <para>用于合并输入工作空间中所有栅格数据集的现有栅格数据集。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Target Raster Dataset")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _in_raster_dataset { get; set; }


        /// <summary>
        /// <para>Include Sub-directories</para>
        /// <para><xdoc>
        ///   <para>Specify whether to include subdirectories.</para>
        ///   <bulletList>
        ///     <bullet_item>Unchecked—Does not include subdirectories. This is the default.</bullet_item><para/>
        ///     <bullet_item>Checked—Includes all the raster datasets in the subdirectories when loading.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定是否包含子目录。</para>
        ///   <bulletList>
        ///     <bullet_item>未选中 - 不包括子目录。这是默认设置。</bullet_item><para/>
        ///     <bullet_item>选中 - 加载时包括子目录中的所有栅格数据集。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Include Sub-directories")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _include_subdirectories_value _include_subdirectories { get; set; } = _include_subdirectories_value._false;

        public enum _include_subdirectories_value
        {
            /// <summary>
            /// <para>INCLUDE_SUBDIRECTORIES</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("INCLUDE_SUBDIRECTORIES")]
            [GPEnumValue("true")]
            _true,

            /// <summary>
            /// <para>NONE</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("NONE")]
            [GPEnumValue("false")]
            _false,

        }

        /// <summary>
        /// <para>Mosaic Operator</para>
        /// <para><xdoc>
        ///   <para>Specifies the method that will be used to mosaic overlapping areas.</para>
        ///   <bulletList>
        ///     <bullet_item>First—The output cell value of the overlapping areas will be the value from the first raster dataset mosaicked into that location.</bullet_item><para/>
        ///     <bullet_item>Last—The output cell value of the overlapping areas will be the value from the last raster dataset mosaicked into that location. This is the default.</bullet_item><para/>
        ///     <bullet_item>Blend—The output cell value of the overlapping areas will be a horizontally weighted calculation of the values of the cells in the overlapping area.</bullet_item><para/>
        ///     <bullet_item>Mean—The output cell value of the overlapping areas will be the average value of the overlapping cells.</bullet_item><para/>
        ///     <bullet_item>Minimum—The output cell value of the overlapping areas will be the minimum value of the overlapping cells.</bullet_item><para/>
        ///     <bullet_item>Maximum—The output cell value of the overlapping areas will be the maximum value of the overlapping cells.</bullet_item><para/>
        ///     <bullet_item>Sum—The output cell value of the overlapping areas will be the total sum of the overlapping cells.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定将用于镶嵌重叠区域的方法。</para>
        ///   <bulletList>
        ///     <bullet_item>首先 - 重叠区域的输出像元值将是镶嵌到该位置的第一个栅格数据集的值。</bullet_item><para/>
        ///     <bullet_item>最后 - 重叠区域的输出像元值将为镶嵌到该位置的最后一个栅格数据集的值。这是默认设置。</bullet_item><para/>
        ///     <bullet_item>混合—重叠区域的输出像元值将是重叠区域中像元值的水平加权计算。</bullet_item><para/>
        ///     <bullet_item>平均值 - 重叠区域的输出像元值将是重叠像元的平均值。</bullet_item><para/>
        ///     <bullet_item>最小值 - 重叠区域的输出像元值将是重叠像元的最小值。</bullet_item><para/>
        ///     <bullet_item>最大值 - 重叠区域的输出像元值将是重叠像元的最大值。</bullet_item><para/>
        ///     <bullet_item>总和—重叠区域的输出像元值将是重叠像元的总和。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Mosaic Operator")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _mosaic_type_value _mosaic_type { get; set; } = _mosaic_type_value._LAST;

        public enum _mosaic_type_value
        {
            /// <summary>
            /// <para>First</para>
            /// <para>First—The output cell value of the overlapping areas will be the value from the first raster dataset mosaicked into that location.</para>
            /// <para>首先 - 重叠区域的输出像元值将是镶嵌到该位置的第一个栅格数据集的值。</para>
            /// </summary>
            [Description("First")]
            [GPEnumValue("FIRST")]
            _FIRST,

            /// <summary>
            /// <para>Last</para>
            /// <para>Last—The output cell value of the overlapping areas will be the value from the last raster dataset mosaicked into that location. This is the default.</para>
            /// <para>最后 - 重叠区域的输出像元值将为镶嵌到该位置的最后一个栅格数据集的值。这是默认设置。</para>
            /// </summary>
            [Description("Last")]
            [GPEnumValue("LAST")]
            _LAST,

            /// <summary>
            /// <para>Blend</para>
            /// <para>Blend—The output cell value of the overlapping areas will be a horizontally weighted calculation of the values of the cells in the overlapping area.</para>
            /// <para>混合—重叠区域的输出像元值将是重叠区域中像元值的水平加权计算。</para>
            /// </summary>
            [Description("Blend")]
            [GPEnumValue("BLEND")]
            _BLEND,

            /// <summary>
            /// <para>Mean</para>
            /// <para>Mean—The output cell value of the overlapping areas will be the average value of the overlapping cells.</para>
            /// <para>平均值 - 重叠区域的输出像元值将是重叠像元的平均值。</para>
            /// </summary>
            [Description("Mean")]
            [GPEnumValue("MEAN")]
            _MEAN,

            /// <summary>
            /// <para>Minimum</para>
            /// <para>Minimum—The output cell value of the overlapping areas will be the minimum value of the overlapping cells.</para>
            /// <para>最小值 - 重叠区域的输出像元值将是重叠像元的最小值。</para>
            /// </summary>
            [Description("Minimum")]
            [GPEnumValue("MINIMUM")]
            _MINIMUM,

            /// <summary>
            /// <para>Maximum</para>
            /// <para>Maximum—The output cell value of the overlapping areas will be the maximum value of the overlapping cells.</para>
            /// <para>最大值 - 重叠区域的输出像元值将是重叠像元的最大值。</para>
            /// </summary>
            [Description("Maximum")]
            [GPEnumValue("MAXIMUM")]
            _MAXIMUM,

            /// <summary>
            /// <para>Sum</para>
            /// <para>Sum—The output cell value of the overlapping areas will be the total sum of the overlapping cells.</para>
            /// <para>总和—重叠区域的输出像元值将是重叠像元的总和。</para>
            /// </summary>
            [Description("Sum")]
            [GPEnumValue("SUM")]
            _SUM,

        }

        /// <summary>
        /// <para>Mosaic Colormap Mode</para>
        /// <para><xdoc>
        ///   <para>Specifies the method that will be used to choose which color map from the input rasters will be applied to the mosaic output.</para>
        ///   <bulletList>
        ///     <bullet_item>First—The color map from the first raster dataset in the list will be applied to the output raster mosaic. This is the default.</bullet_item><para/>
        ///     <bullet_item>Last—The color map from the last raster dataset in the list will be applied to the output raster mosaic.</bullet_item><para/>
        ///     <bullet_item>Match—All the color maps will be considered when mosaicking. If all possible values are already used (for the bit depth), the tool will match the value with the closest available color.</bullet_item><para/>
        ///     <bullet_item>Reject—Only the raster datasets that do not have a color map associated with them will be mosaicked.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定将用于选择将输入栅格中的哪个颜色映射表应用于镶嵌输出的方法。</para>
        ///   <bulletList>
        ///     <bullet_item>首先 - 列表中第一个栅格数据集中的颜色映射表将应用于输出栅格镶嵌。这是默认设置。</bullet_item><para/>
        ///     <bullet_item>最后 - 列表中最后一个栅格数据集的颜色映射表将应用于输出栅格镶嵌。</bullet_item><para/>
        ///     <bullet_item>匹配 - 镶嵌时将考虑所有颜色映射表。如果已使用所有可能的值（用于位深度），则该工具将使用最接近的可用颜色匹配该值。</bullet_item><para/>
        ///     <bullet_item>拒绝 - 仅镶嵌没有与其关联的颜色映射表的栅格数据集。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Mosaic Colormap Mode")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _colormap_value _colormap { get; set; } = _colormap_value._FIRST;

        public enum _colormap_value
        {
            /// <summary>
            /// <para>Reject</para>
            /// <para>Reject—Only the raster datasets that do not have a color map associated with them will be mosaicked.</para>
            /// <para>拒绝 - 仅镶嵌没有与其关联的颜色映射表的栅格数据集。</para>
            /// </summary>
            [Description("Reject")]
            [GPEnumValue("REJECT")]
            _REJECT,

            /// <summary>
            /// <para>First</para>
            /// <para>First—The color map from the first raster dataset in the list will be applied to the output raster mosaic. This is the default.</para>
            /// <para>首先 - 列表中第一个栅格数据集中的颜色映射表将应用于输出栅格镶嵌。这是默认设置。</para>
            /// </summary>
            [Description("First")]
            [GPEnumValue("FIRST")]
            _FIRST,

            /// <summary>
            /// <para>Last</para>
            /// <para>Last—The color map from the last raster dataset in the list will be applied to the output raster mosaic.</para>
            /// <para>最后 - 列表中最后一个栅格数据集的颜色映射表将应用于输出栅格镶嵌。</para>
            /// </summary>
            [Description("Last")]
            [GPEnumValue("LAST")]
            _LAST,

            /// <summary>
            /// <para>Match</para>
            /// <para>Match—All the color maps will be considered when mosaicking. If all possible values are already used (for the bit depth), the tool will match the value with the closest available color.</para>
            /// <para>匹配 - 镶嵌时将考虑所有颜色映射表。如果已使用所有可能的值（用于位深度），则该工具将使用最接近的可用颜色匹配该值。</para>
            /// </summary>
            [Description("Match")]
            [GPEnumValue("MATCH")]
            _MATCH,

        }

        /// <summary>
        /// <para>Ignore Background Value</para>
        /// <para><xdoc>
        ///   <para>Use this option to remove the unwanted values created around the raster data. The value specified will be distinguished from other valuable data in the raster dataset. For example, a value of zero along the raster dataset's borders will be distinguished from zero values in the raster dataset.</para>
        ///   <para>The pixel value specified will be set to NoData in the output raster dataset.</para>
        ///   <para>For file-based rasters the Ignore Background Value must be set to the same value as NoData in order for the background value to be ignored. Enterprise and file geodatabase rasters will work without this extra step.</para>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>使用此选项可移除在栅格数据周围创建的不需要的值。指定的值将与栅格数据集中的其他有价值数据区分开来。例如，栅格数据集边界上的零值将与栅格数据集中的零值区分开来。</para>
        ///   <para>在输出栅格数据集中，指定的像素值将设置为 NoData。</para>
        ///   <para>对于基于文件的栅格，必须将忽略背景值设置为与 NoData 相同的值，才能忽略背景值。企业级地理数据库栅格和文件地理数据库栅格无需此额外步骤即可工作。</para>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Ignore Background Value")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public double? _background_value { get; set; } = null;


        /// <summary>
        /// <para>NoData Value</para>
        /// <para>All the pixels with the specified value will be set to NoData in the output raster dataset.</para>
        /// <para>在输出栅格数据集中，所有具有指定值的像素都将设置为 NoData。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("NoData Value")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public double? _nodata_value { get; set; } = null;


        /// <summary>
        /// <para>Convert 1 bit data to 8 bit</para>
        /// <para><xdoc>
        ///   <para>Choose whether the input 1-bit raster dataset will be converted to an 8-bit raster dataset. In this conversion, the value 1 in the input raster dataset will be changed to 255 in the output raster dataset. This is useful when importing a 1-bit raster dataset to a geodatabase. One-bit raster datasets have 8-bit pyramid layers when stored in a file system, but in a geodatabase, 1-bit raster datasets can only have 1-bit pyramid layers, which makes the display unpleasant. By converting the data to 8 bit in a geodatabase, the pyramid layers are built as 8 bit instead of 1 bit, resulting in a proper raster dataset in the display.</para>
        ///   <bulletList>
        ///     <bullet_item>Unchecked—No conversion will be done. This is the default.</bullet_item><para/>
        ///     <bullet_item>Checked—The input raster will be converted.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>选择是否将输入的 1 位栅格数据集转换为 8 位栅格数据集。在此转换中，输入栅格数据集中的值 1 将更改为输出栅格数据集中的值 255。在将 1 位栅格数据集导入地理数据库时，此功能非常有用。1 位栅格数据集在存储在文件系统中时具有 8 位金字塔图层，但在地理数据库中，1 位栅格数据集只能具有 1 位金字塔图层，这使得显示效果不愉快。通过在地理数据库中将数据转换为 8 位，金字塔图层将构建为 8 位而不是 1 位，从而在显示中生成适当的栅格数据集。</para>
        ///   <bulletList>
        ///     <bullet_item>未选中 - 不进行任何转换。这是默认设置。</bullet_item><para/>
        ///     <bullet_item>选中 - 将转换输入栅格。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Convert 1 bit data to 8 bit")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _onebit_to_eightbit_value _onebit_to_eightbit { get; set; } = _onebit_to_eightbit_value._false;

        public enum _onebit_to_eightbit_value
        {
            /// <summary>
            /// <para>OneBitTo8Bit</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("OneBitTo8Bit")]
            [GPEnumValue("true")]
            _true,

            /// <summary>
            /// <para>NONE</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("NONE")]
            [GPEnumValue("false")]
            _false,

        }

        /// <summary>
        /// <para>Mosaicking Tolerance</para>
        /// <para><xdoc>
        ///   <para>When mosaicking occurs, the target and the source pixels do not always line up exactly. When there is a misalignment of pixels, you need to decide whether to resample or shift the data. The mosaicking tolerance controls whether resampling of the pixels will occur or the pixels will be shifted.</para>
        ///   <para>If the difference in pixel alignment (of the incoming dataset and the target dataset) is greater than the tolerance, resampling will occur. If the difference in pixel alignment (of the incoming dataset and the target dataset) is less than the tolerance, resampling will not occur and a shift will be performed.</para>
        ///   <para>The unit of tolerance is a pixel with a valid value range of 0 to 0.5. A tolerance of 0.5 will guarantee a shift occurs. A tolerance of zero guarantees resampling will occur if there is a misalignment in pixels.</para>
        ///   <para>For example, the source and target pixels have a misalignment of 0.25. If the mosaicking tolerance is set to 0.2, resampling will occur since the pixel misalignment is greater than the tolerance. If the mosaicking tolerance is set to 0.3, the pixels will be shifted.</para>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>发生马赛克时，目标像素和源像素并不总是完全对齐。当像素未对齐时，您需要决定是重新采样还是移动数据。镶嵌容差控制是进行像素重采样还是像素偏移。</para>
        ///   <para>如果（传入数据集和目标数据集的）像素对齐差异大于容差，则将进行重采样。如果像素对齐的差异（传入数据集和目标数据集的）小于容差，则不会进行重采样，并且将执行偏移。</para>
        ///   <para>公差单位是有效值范围为 0 到 0.5 的像素。0.5 的公差将保证发生偏移。容差为零可保证在像素未对齐时进行重采样。</para>
        ///   <para>例如，源像素和目标像素的错位为 0.25。如果镶嵌容差设置为 0.2，则将进行重采样，因为像素未对齐大于容差。如果镶嵌容差设置为 0.3，则像素将发生偏移。</para>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Mosaicking Tolerance")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public double _mosaicking_tolerance { get; set; } = 0;


        /// <summary>
        /// <para>Color Matching Method</para>
        /// <para><xdoc>
        ///   <para>The color matching method to apply to the rasters.</para>
        ///   <bulletList>
        ///     <bullet_item>None—This option will not use the color matching operation when mosaicking your raster datasets.</bullet_item><para/>
        ///     <bullet_item>Match statistics—This method will use descriptive statistics from the overlapping areas; the transformation will then be applied to the entire target dataset.</bullet_item><para/>
        ///     <bullet_item>Match histogram—This method will match the histogram from the reference overlap area to the source overlap area; the transformation will then be applied to the entire target dataset.</bullet_item><para/>
        ///     <bullet_item>Linear correlation—This method will match overlapping pixels and then interpolated the rest of the source dataset; pixels without a one-to-one relationship will use a weighted average.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>应用于栅格的颜色匹配方法。</para>
        ///   <bulletList>
        ///     <bullet_item>无 - 镶嵌栅格数据集时，此选项将不使用颜色匹配操作。</bullet_item><para/>
        ///     <bullet_item>匹配统计 - 此方法将使用来自重叠区域的描述性统计;然后，转换将应用于整个目标数据集。</bullet_item><para/>
        ///     <bullet_item>匹配直方图 - 此方法将匹配从参考重叠区域到源重叠区域的直方图;然后，转换将应用于整个目标数据集。</bullet_item><para/>
        ///     <bullet_item>线性相关性 - 此方法将匹配重叠像素，然后对源数据集的其余部分进行插值;没有一对一关系的像素将使用加权平均值。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Color Matching Method")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _MatchingMethod_value _MatchingMethod { get; set; } = _MatchingMethod_value._NONE;

        public enum _MatchingMethod_value
        {
            /// <summary>
            /// <para>None</para>
            /// <para>None—This option will not use the color matching operation when mosaicking your raster datasets.</para>
            /// <para>无 - 镶嵌栅格数据集时，此选项将不使用颜色匹配操作。</para>
            /// </summary>
            [Description("None")]
            [GPEnumValue("NONE")]
            _NONE,

            /// <summary>
            /// <para>Match statistics</para>
            /// <para>Match statistics—This method will use descriptive statistics from the overlapping areas; the transformation will then be applied to the entire target dataset.</para>
            /// <para>匹配统计 - 此方法将使用来自重叠区域的描述性统计;然后，转换将应用于整个目标数据集。</para>
            /// </summary>
            [Description("Match statistics")]
            [GPEnumValue("STATISTIC_MATCHING")]
            _STATISTIC_MATCHING,

            /// <summary>
            /// <para>Match histogram</para>
            /// <para>Match histogram—This method will match the histogram from the reference overlap area to the source overlap area; the transformation will then be applied to the entire target dataset.</para>
            /// <para>匹配直方图 - 此方法将匹配从参考重叠区域到源重叠区域的直方图;然后，转换将应用于整个目标数据集。</para>
            /// </summary>
            [Description("Match histogram")]
            [GPEnumValue("HISTOGRAM_MATCHING")]
            _HISTOGRAM_MATCHING,

            /// <summary>
            /// <para>Linear correlation</para>
            /// <para>Linear correlation—This method will match overlapping pixels and then interpolated the rest of the source dataset; pixels without a one-to-one relationship will use a weighted average.</para>
            /// <para>线性相关性 - 此方法将匹配重叠像素，然后对源数据集的其余部分进行插值;没有一对一关系的像素将使用加权平均值。</para>
            /// </summary>
            [Description("Linear correlation")]
            [GPEnumValue("LINEARCORRELATION_MATCHING")]
            _LINEARCORRELATION_MATCHING,

        }

        /// <summary>
        /// <para>Colormap to RGB</para>
        /// <para><xdoc>
        ///   <para>If the input raster dataset has a color map, the output raster dataset can be converted to a three-band output raster dataset. This is useful when mosaicking rasters with different color maps.</para>
        ///   <bulletList>
        ///     <bullet_item>Unchecked—No conversion will occur. This is the default.</bullet_item><para/>
        ///     <bullet_item>Checked—The input dataset will be converted.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>如果输入栅格数据集具有颜色映射表，则输出栅格数据集可以转换为三波段输出栅格数据集。这在镶嵌具有不同颜色映射表的栅格时非常有用。</para>
        ///   <bulletList>
        ///     <bullet_item>未选中 - 不会发生任何转换。这是默认设置。</bullet_item><para/>
        ///     <bullet_item>选中 - 将转换输入数据集。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Colormap to RGB")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _colormap_to_RGB_value _colormap_to_RGB { get; set; } = _colormap_to_RGB_value._false;

        public enum _colormap_to_RGB_value
        {
            /// <summary>
            /// <para>ColormapToRGB</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("ColormapToRGB")]
            [GPEnumValue("true")]
            _true,

            /// <summary>
            /// <para>NONE</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("NONE")]
            [GPEnumValue("false")]
            _false,

        }

        /// <summary>
        /// <para>Updated Target Raster Dataset</para>
        /// <para></para>
        /// <para></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Updated Target Raster Dataset")]
        [Description("")]
        [Option(OptionTypeEnum.derived)]
        public object _out_raster_dataset { get; set; }


        public WorkspaceToRasterDataset SetEnv()
        {
            base.SetEnv();
            return this;
        }

    }

}